package com.xnj.file_byte_stream_demo;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

// 文件复制
public class FileCopyDemo {

    public static void main(String[] args) throws IOException {
        // 1. 创建文件字节输入流与源文件连通：读取源文件
        FileInputStream is = new FileInputStream("src/疯狂星期四.png");
        // 2. 创建文件字节输出流与目标文件连通：写入目标文件
        FileOutputStream os = new FileOutputStream("src/疯狂星期四copy.png");
        // 3. 创建一个字节数组,负责转移字节数据
        byte[] buffer = new byte[1024]; // 1KB=>1024字节
        // 4. 从字节输入流中读取字节数据，写出到字节输出流中
        int len; // len表示每次读取的字节数
        while ((len = is.read(buffer)) != -1){
            // 写入目标文件
            // 输入流读多少输出流写多少
            os.write(buffer, 0, len);
        }


        // 5.关闭流,从里往外关，先创建的后关
        os.close();
        is.close();

    }
}
